1> 安装vsftpd
yum install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
2> 为ftp创建用户
useradd ftpuser
passwd ftpuser
3> 创建ftp文件目录
mkdir /home/ftpuser/data
chmod 776 /home/ftpuser/data # 对 FTP 目录加上写的权限
chown -R ftpuser:ftpuser /home/ftpuser/data
4> 修改配置文件
① 修改以下选项
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
② 屏蔽ipv6
#listen_ipv6=YES
③ 新增被动模式的配置项
local_root=/home/ftpuser/data # 之前创建的文件目录
allow_writeable_chroot=YES
pasv_enable=YES
pasv_address=xxx.xx.xxx.xx # 云服务器公网IP
pasv_min_port=40000
pasv_max_port=45000
④ 创建并编辑 chroot_list
文件
## 指定例外用户列表
vim /etc/vsftpd/chroot_list # 每行输入一个用户名
⑤ 重启vsftpd
systemctl restart vsftpd
5> 开放端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 40000:45000 -j ACCEPT
6> ftp主动模式的配置参数
anonymous_enable=NO #禁止匿名用户登录
local_enable=YES #支持本地用户登录
chroot_local_user=YES #全部用户被限制在主目录
chroot_list_enable=YES #启用例外用户名单
chroot_list_file=/etc/vsftpd/chroot_list #指定用户列表文件,该列表中的用户不被锁定在主目录
listen=YES #监听IPv4 sockets
#在行首添加#注释掉以下参数
#listen_ipv6=YES #关闭监听IPv6 sockets
#添加下列参数
allow_writeable_chroot=YES
local_root=/var/ftp/test #设置本地用户登录后所在的目录